home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / Aztec C 5.0a disk 1.adf / include / libraries / dosextens.h < prev    next >
C/C++ Source or Header  |  1989-11-06  |  4KB  |  213 lines

  1. #ifndef    LIBRARIES_DOSEXTENS_H
  2. #define    LIBRARIES_DOSEXTENS_H
  3. #ifndef    EXEC_TYPES_H
  4. #include    "exec/types.h"
  5. #endif
  6. #ifndef    EXEC_TASKS_H
  7. #include    "exec/tasks.h"
  8. #endif
  9. #ifndef    EXEC_PORTS_H
  10. #include    "exec/ports.h"
  11. #endif
  12. #ifndef    EXEC_LIBRARIES_H
  13. #include    "exec/libraries.h"
  14. #endif
  15. #ifndef    LIBRARIES_DOS_H
  16. #include    "libraries/dos.h"
  17. #endif
  18. struct    Process    {
  19. struct    Task    pr_Task;
  20. struct    MsgPort    pr_MsgPort;
  21. WORD    pr_Pad;
  22. BPTR    pr_SegList;
  23. LONG    pr_StackSize;
  24. APTR    pr_GlobVec;
  25. LONG    pr_TaskNum;
  26. BPTR    pr_StackBase;
  27. LONG    pr_Result2;
  28. BPTR    pr_CurrentDir;
  29. BPTR    pr_CIS;
  30. BPTR    pr_COS;
  31. APTR    pr_ConsoleTask;
  32. APTR    pr_FileSystemTask;
  33. BPTR    pr_CLI;
  34. APTR    pr_ReturnAddr;
  35. APTR    pr_PktWait;
  36. APTR    pr_WindowPtr;
  37. };
  38. struct    FileHandle    {
  39. struct    Message    *fh_Link;
  40. struct    MsgPort    *fh_Port;
  41. struct    MsgPort    *fh_Type;
  42. LONG    fh_Buf;
  43. LONG    fh_Pos;
  44. LONG    fh_End;
  45. LONG    fh_Funcs;
  46. #define    fh_Func1    fh_Funcs
  47. LONG    fh_Func2;
  48. LONG    fh_Func3;
  49. LONG    fh_Args;
  50. #define    fh_Arg1    fh_Args
  51. LONG    fh_Arg2;
  52. };
  53. struct    DosPacket    {
  54. struct    Message    *dp_Link;
  55. struct    MsgPort    *dp_Port;
  56. LONG    dp_Type;
  57. LONG    dp_Res1;
  58. LONG    dp_Res2;
  59. #define    dp_Action    dp_Type
  60. #define    dp_Status    dp_Res1
  61. #define    dp_Status2    dp_Res2
  62. #define    dp_BufAddr    dp_Arg1
  63. LONG    dp_Arg1;
  64. LONG    dp_Arg2;
  65. LONG    dp_Arg3;
  66. LONG    dp_Arg4;
  67. LONG    dp_Arg5;
  68. LONG    dp_Arg6;
  69. LONG    dp_Arg7;
  70. };
  71. struct    StandardPacket    {
  72. struct    Message    sp_Msg;
  73. struct    DosPacket    sp_Pkt;
  74. };
  75. #define    ACTION_NIL    0L
  76. #define    ACTION_GET_BLOCK    2L
  77. #define    ACTION_SET_MAP    4L
  78. #define    ACTION_DIE    5L
  79. #define    ACTION_EVENT    6L
  80. #define    ACTION_CURRENT_VOLUME    7L
  81. #define    ACTION_LOCATE_OBJECT    8L
  82. #define    ACTION_RENAME_DISK    9L
  83. #define    ACTION_WRITE    ((long)'W')
  84. #define    ACTION_READ    ((long)'R')
  85. #define    ACTION_FREE_LOCK    15L
  86. #define    ACTION_DELETE_OBJECT    16L
  87. #define    ACTION_RENAME_OBJECT    17L
  88. #define    ACTION_MORE_CACHE    18L
  89. #define    ACTION_COPY_DIR    19L
  90. #define    ACTION_WAIT_CHAR    20L
  91. #define    ACTION_SET_PROTECT    21L
  92. #define    ACTION_CREATE_DIR    22L
  93. #define    ACTION_EXAMINE_OBJECT    23L
  94. #define    ACTION_EXAMINE_NEXT    24L
  95. #define    ACTION_DISK_INFO    25L
  96. #define    ACTION_INFO    26L
  97. #define    ACTION_FLUSH    27L
  98. #define    ACTION_SET_COMMENT    28L
  99. #define    ACTION_PARENT    29L
  100. #define    ACTION_TIMER    30L
  101. #define    ACTION_INHIBIT    31L
  102. #define    ACTION_DISK_TYPE    32L
  103. #define    ACTION_DISK_CHANGE    33L
  104. #define    ACTION_SET_DATE    34L
  105. #define    ACTION_SCREEN_MODE    994L
  106. #define    ACTION_READ_RETURN    1001L
  107. #define    ACTION_WRITE_RETURN    1002L
  108. #define    ACTION_SEEK    1008L
  109. #define    ACTION_FINDUPDATE    1004L
  110. #define    ACTION_FINDINPUT    1005L
  111. #define    ACTION_FINDOUTPUT    1006L
  112. #define    ACTION_END    1007L
  113. #define    ACTION_TRUNCATE    1022L
  114. #define    ACTION_WRITE_PROTECT    1023L
  115. struct    DosLibrary    {
  116. struct    Library    dl_lib;
  117. APTR    dl_Root;
  118. APTR    dl_GV;
  119. LONG    dl_A2;
  120. LONG    dl_A5;
  121. LONG    dl_A6;
  122. };
  123. struct    RootNode    {
  124. BPTR    rn_TaskArray;
  125. BPTR    rn_ConsoleSegment;
  126. struct    DateStamp    rn_Time;
  127. LONG    rn_RestartSeg;
  128. BPTR    rn_Info;
  129. BPTR    rn_FileHandlerSegment;
  130. };
  131. struct    DosInfo    {
  132. BPTR    di_McName;
  133. BPTR    di_DevInfo;
  134. BPTR    di_Devices;
  135. BPTR    di_Handlers;
  136. APTR    di_NetHand;
  137. };
  138. struct    CommandLineInterface    {
  139. LONG    cli_Result2;
  140. BSTR    cli_SetName;
  141. BPTR    cli_CommandDir;
  142. LONG    cli_ReturnCode;
  143. BSTR    cli_CommandName;
  144. LONG    cli_FailLevel;
  145. BSTR    cli_Prompt;
  146. BPTR    cli_StandardInput;
  147. BPTR    cli_CurrentInput;
  148. BSTR    cli_CommandFile;
  149. LONG    cli_Interactive;
  150. LONG    cli_Background;
  151. BPTR    cli_CurrentOutput;
  152. LONG    cli_DefaultStack;
  153. BPTR    cli_StandardOutput;
  154. BPTR    cli_Module;
  155. };
  156. struct    DeviceList    {
  157. BPTR    dl_Next;
  158. LONG    dl_Type;
  159. struct    MsgPort    *    dl_Task;
  160. BPTR    dl_Lock;
  161. struct    DateStamp    dl_VolumeDate;
  162. BPTR    dl_LockList;
  163. LONG    dl_DiskType;
  164. LONG    dl_unused;
  165. BSTR    *    dl_Name;
  166. };
  167. struct    DevInfo    {
  168. BPTR    dvi_Next;
  169. LONG    dvi_Type;
  170. APTR    dvi_Task;
  171. BPTR    dvi_Lock;
  172. BSTR    dvi_Handler;
  173. LONG    dvi_StackSize;
  174. LONG    dvi_Priority;
  175. LONG    dvi_Startup;
  176. BPTR    dvi_SegList;
  177. BPTR    dvi_GlobVec;
  178. BSTR    dvi_Name;
  179. };
  180. struct    DosList    {
  181. BPTR    dol_Next;
  182. LONG    dol_Type;
  183. struct    MsgPort    *dol_Task;
  184. BPTR    dol_Lock;
  185. union    {
  186. struct    {
  187. BSTR    dol_Handler;
  188. LONG    dol_StackSize;
  189. LONG    dol_Priority;
  190. ULONG    dol_Startup;
  191. BPTR    dol_SegList;
  192. BPTR    dol_GlobVec;
  193. }    dol_handler;
  194. struct    {
  195. struct    DateStamp    dol_VolumeDate;
  196. BPTR    dol_LockList;
  197. LONG    dol_DiskType;
  198. }    dol_volume;
  199. }    dol_misc;
  200. BSTR    dol_Name;
  201. };
  202. #define    DLT_DEVICE    0L
  203. #define    DLT_DIRECTORY    1L
  204. #define    DLT_VOLUME    2L
  205. struct    FileLock    {
  206. BPTR    fl_Link;
  207. LONG    fl_Key;
  208. LONG    fl_Access;
  209. struct    MsgPort    *    fl_Task;
  210. BPTR    fl_Volume;
  211. };
  212. #endif
  213.